package nz.ac.massey.cs.se400_2013.ass3;

import javax.swing.JPanel;

import nz.ac.massey.cs.se400_2013.ass3.plugin.ChangeListener;

public interface EditorPlugin  {
	/**
	 * Get a form that can be used to edit objects. 
	 * @return a form
	 */
	 public JPanel getEditor ();
	 /**
	  * Edit an object.
	  * @param obj
	  */
	 public void edit(Object obj);
	 /**
	  * Indicate whether objects of these type can be edited.
	  * @param type
	  */
	 public boolean canEditInstanceOf(Class type);
	 
	 public void saveObject();
	 
	 public void addChangeListener(ChangeListener listener);
}
